﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using DA_OOMModel;
using DA_OOMModelIDAL;
using DA_OOMDALFactory;

namespace DaCredito
{
    public class ControladorContaUsuario : Controlador
    {

        private static ControladorContaUsuario ioInstancia;

        public static ControladorContaUsuario GetInstance()
        {
            if (ioInstancia == null)
            {
                ioInstancia = new ControladorContaUsuario();
            }
            return ioInstancia;
        }

        public Usuario AutenticarUsuario(string asNickname, string asSenha)
        {

            IUsuarioDAL loUsuarioDAO = ConcreteDALFactory.CreateUsuarioDAL();

            List<Usuario> loListaUsuario = loUsuarioDAO.FindByUsrDsNickname(asNickname);

             Usuario loUsuario = null;

             if ((loListaUsuario != null) && (loListaUsuario.Count != 0))
                 loUsuario = loListaUsuario[0];

             return loUsuario;
            
            /*loUsuario.UsrDsSenha = asSenha;


            BUsuario loBUsuario = new BUsuario(loUsuario);

            IClienteDAL loClienteDAO = ConcreteDALFactory.CreateClienteDAL();

           
            // ---------------------------------
            // Cadastro do Endereço do cliente
            // ---------------------------------
            Endereco loEndereco = new Endereco();

            loEndereco.EnderecoPK = new EnderecoPK(2);
            loEndereco.EndNmLogradouro = asEnderecoLogradouro;
            loEndereco.EndNuCep = asEnderecoNumeroCep;
            loEndereco.EndNmBairro = asEnderecoNomeBairro;
            loEndereco.EndNuImovel = asEnderecoNumero;
            loEndereco.EndDsComplemento = asEnderecoComplemento;
            loEndereco.Cliente = loCliente;
            loEndereco.Cidade = aoEnderecoCidade;

            IEnderecoDAL loEnderecoDAO = ConcreteDALFactory.CreateEnderecoDAL();

            // ---------------------------------
            // Cadastro do Usuário do cliente
            // ---------------------------------
            loCliente.Usuario.Add(CadastrarUsuario(loCliente, asNickname, asSenha, asNome, asSobrenome, asEmail, TipoUsuario.AdministradorCliente));
            

           // loCliente.Endereco.Add(loEndereco);

            loClienteDAO.Insert(loCliente);
            loEnderecoDAO.Insert(loEndereco);

          

            return loCliente;*/

        }
       

    }

   

}